// manager/pages/gridstatistics/index.js
import config from '../../../utils/config';
import { getSystemInfo } from '../../../utils/getSystemInfo';
import { request } from '../../../utils/request';
import util from '../../../common/util';
import WxValidate from '../../../common/WxValidate';
Page({

    /**
     * 页面的初始数据
     */
    data: {
        baseUrl: config.baseUrl,
        userInfo: {},
        // 统计
        perBusi: null,
        allBanksBusi: null,
        allBanksFilingLineOption: null,
        allBanksVisitLineOption: null,
        allBanksTimeoutVisit: null,

        orgFilingRank: [],
        markeFilingRank: [],
        orgVisitRank: [],
        markeVisitRank: [],
        orgDoVisitRank: [],
        orgUnDoVisitRank: [],
        markeDoVisitRank: [],
        markeUnDoVisitRank: [],
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
        this.getUserInfo();
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        this.getData();
    },
    // 获取当前登录者的用户信息
    getUserInfo(e) {        
        request({
            url: "/user/getUserInfo",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {}
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    userInfo: res.data.userInfo
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },

    /**
     * 获取数据
     */
    getData() {
        this.getFilingVisitsStatistics()
        this.getAllFilingVisitsNums()
        this.getFilingLineChart()
        this.getTimeoutVisitsNums()
        this.getDeptFilingList()
        this.getUserFilingList()
        this.getVisitLineChart()
        this.getDeptVisitsList()
        this.getUserVisitsList()
        this.getDeptDoTaskList()
        this.getDeptUnDoTaskList()
        this.getUserDoTaskList()
        this.getUserUnDoTaskList()
    },
    /** 个人业务数据 */
    getFilingVisitsStatistics(){
        request({
            url: `/merchantMarketing/getFilingVisitsStatistics`,
            // method: "GET",
            reqRSAENCRY: false, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    perBusi: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 全行业务数据 */
    getAllFilingVisitsNums(){
        request({
            url: `/merchantMarketing/getAllFilingVisitsNums`,
            // method: "GET",
            reqRSAENCRY: false, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    allBanksBusi: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },

    /** 全行业务数据-建档折线图 */
    getFilingLineChart(){
        request({
            url: `/merchantMarketing/getFilingLineChart`,
            // method: "GET",
            reqRSAENCRY: false, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
        }).then(res => {
            if(res.code == 0){
                var option = {
                    color: ['#6794de'],
                    legend: {
                        data: ["月度新增建档数"],
                        bottom: 15,
                        left: 'center',
                        // z: 100
                    },
                    xAxis: {
                        type: 'category',
                        boundaryGap: true,
                        axisLabel: {
                            rotate: 45
                        },
                        data: [],
                    },
                    series: [{
                        name: "月度新增建档数",
                        type: 'line',
                        label: {
                            show: true,
                            position: 'top',
                            distance: 0,
                            formatter: '{c}',
                            textStyle: {
                                color: '#6794de',
                                fontSize: 12
                            }
                        },
                        // smooth: true,
                        data: []
                    }],
                };
                if(res.data.length>0){
                    res.data.forEach(item => {
                        option.xAxis.data.push(item.month);            
                        option.series[0].data.push(item.merchantNum);
                    })
                }
                console.log(option)
                this.setData({
                    allBanksFilingLineOption: option
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },

    /** 分支机构-商户建档数量排名 */
    getDeptFilingList(){
        request({
            url: `/merchantMarketing/getDeptFilingList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    orgFilingRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 营销人员-商户建档数量排名 */
    getUserFilingList(){
        request({
            url: `/merchantMarketing/getUserFilingList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    markeFilingRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },

    /** 全行业务数据-拜访柱状图 */
    getVisitLineChart(){
        request({
            url: `/merchantMarketing/getVisitLineChart`,
            // method: "GET",
            reqRSAENCRY: false, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
        }).then(res => {
            if(res.code == 0){
                let color = ['#6794de']
                var option = {
                    color: color,
                    legend: {
                        data: [],
                        bottom: 15,
                        left: 'center',
                        // z: 100
                    },
                    xAxis: {
                        type: 'category',
                        boundaryGap: true,
                        axisLabel: {
                            rotate: 45
                        },
                        data: [],
                    },
                    series: [{
                        name: "月度新增拜访数",
                        type: 'bar',
                        barGap: '0%',
                        itemStyle: {
                            // borderWidth: 1,
                            borderRadius: [0, 0, 0, 0],
                            color: '#6794de',
                        },
                        // smooth: true,
                        data: []
                    }],
                };
                if(res.data.length>0){
                    res.data.forEach(item => {
                        option.xAxis.data.push(item.month);            
                        option.series[0].data.push(item.visitSum);
                    })
                }
                console.log(option)
                this.setData({
                    allBanksVisitLineOption: option
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    
    /** 分支机构-拜访总次数排名 */
    getDeptVisitsList(){
        request({
            url: `/merchantMarketing/getDeptVisitsList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    orgVisitRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 营销人员-拜访总次数排名 */
    getUserVisitsList(){
        request({
            url: `/merchantMarketing/getUserVisitsList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    markeVisitRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },

    /** 超时拜访数量统计 */
    getTimeoutVisitsNums(){
        request({
            url: `/merchantMarketing/getTimeoutVisitsNums`,
            // method: "GET",
            reqRSAENCRY: false, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    allBanksTimeoutVisit: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 分支机构-超时拜访数排名 */
    getDeptDoTaskList(){
        request({
            url: `/merchantMarketing/getDeptDoTaskList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    orgDoVisitRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 分支机构-超时未拜访数排名 */
    getDeptUnDoTaskList(){
        request({
            url: `/merchantMarketing/getDeptUnDoTaskList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    orgUnDoVisitRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 营销人员-超时拜访数排名 */
    getUserDoTaskList(){
        request({
            url: `/merchantMarketing/getUserDoTaskList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    markeDoVisitRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },
    /** 营销人员-超时未拜访数排名 */
    getUserUnDoTaskList(){
        request({
            url: `/merchantMarketing/getUserUnDoTaskList`,
            // method: "GET",
            reqRSAENCRY: true, // 参数是否加密
            resRSADECRY: true, // 返回值是否解密
            data: {
                pageNum: 1,
                pageSize: 5
            }
        }).then(res => {
            if(res.code == 0){
                this.setData({
                    markeUnDoVisitRank: res.data
                })
            }
        }).catch(error => {
            // console.log(error)
        })
    },

    /** 各机构查看更多 */
    toGridOrgrank(e){
        console.log(e.currentTarget.dataset)
        let { type } =  e.currentTarget.dataset;
        wx.navigateTo({
          url: `/manager/pages/merchantorgrank/index?type=${type}`,
        })
    },

    /** 营销人员查看更多 */
    toGridMarkerrank(e){
        console.log(e.currentTarget.dataset)
        let { type } =  e.currentTarget.dataset;
        wx.navigateTo({
          url: `/manager/pages/merchantmarkerank/index?type=${type}`,
        })
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },
})